/**
 * @author caesar
 * @date 2025/7/1
 * @apiNote
 */
/*## 找出出现奇数次的数
案例需求：已知某个数组中只有1个数字的次数出现奇数次，请找出这个数字。
int[] arr = {2,6,2,5,7,1,2,5,6,1,5,6,1,6,5,7,1};
开发提示：
因为对于任意一个数k，有k ^ k = 0，k ^ 0 = k
所以将arr中所有元素进行异或，那么个数为偶数的元素异或后都变成了0，只留下了个数为奇数的那个元素。*/
public class homework2_6 {
    public static void main(String[] args) {
        //思路：利用^的特点，对于任意一个数k，有k ^ k = 0，k ^ 0 = k
        //不进行计算，直接写成式子，因为可以左右交换位置，所以可以写成result ^= arr[i]，最终剩下一个出现奇数次的数字
        int[] arr = {2,6,2,5,7,1,2,5,6,1,5,6,1,6,5,7,1};
        int result = arr[0];
        for(int i = 1;i<arr.length;i++){
            result ^= arr[i];
        }
        System.out.println(result);
    }
}
